#include "remove.h"

/**
	@brief Funcao que completa com espacos uma string ate a posicao especificada.

	@param nome String que sera completada com espacos.
	@param tamanho Tamanho da string que sera completada com espacos.
*/
void completa_espacos(char nome[], int tamanho);

/** 
	@brief Funcao que remove os espacos em branco digitados pelo usuario.
*/
void remove_espacos();

/** 
	@brief Funcao que verifica se determinada string contem somente numeros.

	@param tamanho Tamanho da string.
	@param string Ponteiro que aponta para string verificada.
*/
int verifica(int tamanho, char *string);

/** 

	@brief Funcao que verifica se o campo imagem foi digitado corretamente.

	@param tamanho Tamanho da string contendo o identificador de imagem.
	@param imagem String contendo o identificador de imagem.
*/
int verifica_img(int tamanho, char imagem[]);

/** 
	@brief Funcao que adiciona na base de dados o titulo da obra.
	
	@param obras Vetor contendo os indices primarios.
	@param tit Ponteiro de uma string que contera o titulo inserido no final da funcao.
	@param dados Arquivo com a base de dados.
	@param tamanho_vetor Tamanho do vetor contendo os indices primarios.
*/

void Titulo(pNo_PK obras, char *tit, FILE *dados, int tamanho_vetor);

/** 
	@brief Funcao que adiciona na base de dados o tipo da obra.
	
	@param dados Arquivo com a base de dados.
*/
void Tipo(FILE *dados);

/** 
	@brief Funcao que adiciona na base de dados o autor da obra.
	
	@param dados Arquivo com a base de dados.
*/
void Autor(FILE *dados);

/** 
	@brief Funcao que adiciona na base de dados o ano da obra.
	
	@param dados Arquivo com a base de dados.
*/
void Ano(FILE *dados);

/** 
	@brief Funcao que adiciona na base de dados o valor da obra.
	
	@param dados Arquivo com a base de dados.
*/
void Valor(FILE *dados);

/** 
	@brief Funcao que adiciona na base de dados o identificador de imagem.
	
	@param dados Arquivo com a base de dados.
*/
void Img(FILE *dados);

/**
	@brief Funcao que retorna o valor do nrr inicial da avail list.

	@param position Posicao, no arquivo, do nrr requerida da avail list.

 */
int verifica_avail(int position);

/** 
	@brief Funcao que devolve o nrr da cabeca da avail list e atualiza seu valor.

	@param base Arquivo contendo a base de dados.
	@param position Posicao, no arquivo, do nrr requerida da avail list.
	@param tamanho Tamanho de cada registro.


 */
int insere(FILE *base, int position, int tamanho);



